package com.his.j259w264.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 病历表(MedicalRecord)实体类
 *
 * @author EdgeYu
 * @since 2021-09-16 10:15:46
 */

@ApiModel(value = "MedicalRecord", description = "病历表")
public class MedicalRecord implements Serializable {
    private static final long serialVersionUID = -46037101031841798L;
    /**
     * id
     */
    @ApiModelProperty(name = "id", notes = "id", dataType = "Integer", required = true)
    private Integer id;
    /**
     * 病人id
     */
    @ApiModelProperty(name = "patientId", notes = "病人id", dataType = "Integer", required = true)
    private Integer patientId;
    /**
     * 用户id
     */
    @ApiModelProperty(name = "userId", notes = "用户id", dataType = "Integer", required = true)
    private Integer userId;
    /**
     * 科室id
     */
    @ApiModelProperty(name = "departmentId", notes = "科室id", dataType = "Integer", required = true)
    private Integer departmentId;
    /**
     * 疾病id
     */
    @ApiModelProperty(name = "diseaseId", notes = "疾病id", dataType = "Integer", required = true)
    private Integer diseaseId;
    /**
     * 病案号
     */
    @ApiModelProperty(name = "medicalRecordNo", notes = "病案号", dataType = "String", required = true)
    private String medicalRecordNo;
    /**
     * 医疗机构
     */
    @ApiModelProperty(name = "medicalInstitutions", notes = "医疗机构", dataType = "String", required = true)
    private String medicalInstitutions;
    /**
     * 就诊日期
     */
    @ApiModelProperty(name = "visitDate", notes = "就诊日期", dataType = "Date", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date visitDate;
    /**
     * 主诉
     */
    @ApiModelProperty(name = "chiefComplaint", notes = "主诉", dataType = "String", required = true)
    private String chiefComplaint;
    /**
     * 现病史
     */
    @ApiModelProperty(name = "historyOfPresent", notes = "现病史", dataType = "String", required = true)
    private String historyOfPresent;
    /**
     * 既往史/个人史/家庭史
     */
    @ApiModelProperty(name = "pastPersonalFamilyHistory", notes = "既往史/个人史/家庭史", dataType = "String", required = true)
    private String pastPersonalFamilyHistory;
    /**
     * 体格检查
     */
    @ApiModelProperty(name = "physicalExamination", notes = "体格检查", dataType = "String", required = true)
    private String physicalExamination;
    /**
     * 辅助检验检查
     */
    @ApiModelProperty(name = "auxiliaryInspection", notes = "辅助检验检查", dataType = "String", required = true)
    private String auxiliaryInspection;
    /**
     * 诊断内容
     */
    @ApiModelProperty(name = "diagnosisContent", notes = "诊断内容", dataType = "String", required = true)
    private String diagnosisContent;
    /**
     * 医嘱
     */
    @ApiModelProperty(name = "doctorOrder", notes = "医嘱", dataType = "String", required = true)
    private String doctorOrder;
    /**
     * 确诊状态
     */
    @ApiModelProperty(name = "confirmedState", notes = "确诊状态", dataType = "Integer", required = true)
    private Integer confirmedState;


    /**
     * 病历对应的病人
     */
    private Patient patient;

    /**
     * 病历表中对应的疾病
     */
    private Disease disease;

    /**
     * 开具病历表的医生
     */
    private User user;

    /**
     * 开具病历表的科室
     */
    private Department department;

    /**
     * 病历对应的报告卡
     */
    private ReportCard reportCard;

    /**
     * 病历对应的处方列表
     */
    private List<Prescription> prescriptionList;

    /**
     * 病历对应的检测报告
     */
    private InspectionReport inspectionReport;

    /**
     * 病历对应的申请单列表
     */
    private List<ApplicationForm> applicationFormList;

    public Patient getPatient() {
        return patient;
    }

    public void setPatient(Patient patient) {
        this.patient = patient;
    }

    public Disease getDisease() {
        return disease;
    }

    public void setDisease(Disease disease) {
        this.disease = disease;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public Department getDepartment() {
        return department;
    }

    public void setDepartment(Department department) {
        this.department = department;
    }

    public ReportCard getReportCard() {
        return reportCard;
    }

    public void setReportCard(ReportCard reportCard) {
        this.reportCard = reportCard;
    }

    public List<Prescription> getPrescriptionList() {
        return prescriptionList;
    }

    public void setPrescriptionList(List<Prescription> prescriptionList) {
        this.prescriptionList = prescriptionList;
    }

    public InspectionReport getInspectionReport() {
        return inspectionReport;
    }

    public void setInspectionReport(InspectionReport inspectionReport) {
        this.inspectionReport = inspectionReport;
    }

    public List<ApplicationForm> getApplicationFormList() {
        return applicationFormList;
    }

    public void setApplicationFormList(List<ApplicationForm> applicationFormList) {
        this.applicationFormList = applicationFormList;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getPatientId() {
        return patientId;
    }

    public void setPatientId(Integer patientId) {
        this.patientId = patientId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Integer getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(Integer departmentId) {
        this.departmentId = departmentId;
    }

    public Integer getDiseaseId() {
        return diseaseId;
    }

    public void setDiseaseId(Integer diseaseId) {
        this.diseaseId = diseaseId;
    }

    public String getMedicalRecordNo() {
        return medicalRecordNo;
    }

    public void setMedicalRecordNo(String medicalRecordNo) {
        this.medicalRecordNo = medicalRecordNo;
    }

    public String getMedicalInstitutions() {
        return medicalInstitutions;
    }

    public void setMedicalInstitutions(String medicalInstitutions) {
        this.medicalInstitutions = medicalInstitutions;
    }

    public Date getVisitDate() {
        return visitDate;
    }

    public void setVisitDate(Date visitDate) {
        this.visitDate = visitDate;
    }

    public String getChiefComplaint() {
        return chiefComplaint;
    }

    public void setChiefComplaint(String chiefComplaint) {
        this.chiefComplaint = chiefComplaint;
    }

    public String getHistoryOfPresent() {
        return historyOfPresent;
    }

    public void setHistoryOfPresent(String historyOfPresent) {
        this.historyOfPresent = historyOfPresent;
    }

    public String getPastPersonalFamilyHistory() {
        return pastPersonalFamilyHistory;
    }

    public void setPastPersonalFamilyHistory(String pastPersonalFamilyHistory) {
        this.pastPersonalFamilyHistory = pastPersonalFamilyHistory;
    }

    public String getPhysicalExamination() {
        return physicalExamination;
    }

    public void setPhysicalExamination(String physicalExamination) {
        this.physicalExamination = physicalExamination;
    }

    public String getAuxiliaryInspection() {
        return auxiliaryInspection;
    }

    public void setAuxiliaryInspection(String auxiliaryInspection) {
        this.auxiliaryInspection = auxiliaryInspection;
    }

    public String getDiagnosisContent() {
        return diagnosisContent;
    }

    public void setDiagnosisContent(String diagnosisContent) {
        this.diagnosisContent = diagnosisContent;
    }

    public String getDoctorOrder() {
        return doctorOrder;
    }

    public void setDoctorOrder(String doctorOrder) {
        this.doctorOrder = doctorOrder;
    }

    public Integer getConfirmedState() {
        return confirmedState;
    }

    public void setConfirmedState(Integer confirmedState) {
        this.confirmedState = confirmedState;
    }

}
